package client

import "github.com/gorilla/websocket"

/**
101:请求心跳
102:用户绑定
*/
type ClientMsg struct {
  DataType int       `json:"dataType"`                       // 接口类型    100~200:系统消息  200~300:业务操作  300~400:退出 
  Type     int       `json:"type"`                           // 游戏类型    1:千机牌 2:老虎机
  OpenID   string    `json:"openId"`                         // 用户token
  IsOnline bool      `json:"online"`                         // 是否在线
  Status   int       `json:"status"`                         // 状态        1:成功 2:失败
  Data     map[string]interface{} `json:"data"`              // 游戏内容
  Time     int64    `json:"time"`                            // 普通时间字段
}

type PongMsg struct {
  DataType int       `json:"dataType"`                       // 接口类型    101:心跳成功
  Time     int64     `json:"time"`                           // 系统最后发送心跳时间
  Status   int       `json:"status"`                         // 状态        1:成功 2:失败
}

type BandMsg struct {
  DataType int       `json:"dataType"`                       // 接口类型    102:用户绑定
  OpenID   string    `json:"openId"`                         // 用户token
  Status   int       `json:"status"`                         // 状态        1:成功 2:失败
  Data     string    `json:"data"`                           // 系统消息
}

// 定义上下文结构体
type GameContext struct {
  Conn      *websocket.Conn  // 用户连接
  Msg       ClientMsg        // 原始链接消息
  PlayerID  string           // 从 tokenByConn 映射中获取
}
